package com.example.musicdemo.model

import android.graphics.Bitmap
import android.os.Parcel
import android.os.Parcelable
import java.io.Serializable

data class Music (    var id //歌曲的id
                      : Long ,
                      var singer: String? ,
                      var path //歌曲地址
                      : String? ,
                      var song: String? ,
                      var album //专辑图片
                      : String? ,
                      var duration :Int,
                      var size //歌曲的大小
                      : Long ,
                      var pic: Bitmap? ,
                      var albumHd: String? )  :Parcelable{
    constructor(parcel: Parcel) : this(
        parcel.readLong(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readString(),
        parcel.readLong().toInt(),
        parcel.readLong(),
        parcel.readParcelable(Bitmap::class.java.classLoader),
        parcel.readString()
    ) {
    }

    override fun writeToParcel(parcel: Parcel, flags: Int) {
        parcel.writeLong(id)
        parcel.writeString(singer)
        parcel.writeString(path)
        parcel.writeString(song)
        parcel.writeString(album)
        parcel.writeInt(duration)
        parcel.writeLong(size)
        parcel.writeParcelable(pic, flags)
        parcel.writeString(albumHd)
    }

    override fun describeContents(): Int {
        return 0
    }

    companion object CREATOR : Parcelable.Creator<Music> {
        override fun createFromParcel(parcel: Parcel): Music {
            return Music(parcel)
        }

        override fun newArray(size: Int): Array<Music?> {
            return arrayOfNulls(size)
        }
    }
}